/*
 */

package beans;

import java.sql.Time;
import java.text.SimpleDateFormat;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Milan Boricic <boricic@gmail.com>
 */
public class Termin {

    private Time vreme;
    private Rezervacija rezervacija;
    private boolean zauzet;
    private Dan dan;

    public Termin() {}

    public Rezervacija getRezervacija() {
        return rezervacija;
    }

    public void setRezervacija(Rezervacija rezervacija) {
        this.rezervacija = rezervacija;
    }

    public Time getVreme() {
        return vreme;
    }

    public void setVreme(Time vreme) {
        this.vreme = vreme;
    }

    public boolean isZauzet() {
        return zauzet;
    }

    public void setZauzet(boolean zauzet) {
        this.zauzet = zauzet;
    }

    public Dan getDan() {
        return dan;
    }

    public void setDan(Dan dan) {
        this.dan = dan;
    }
    

    public String getVremeString() {
        SimpleDateFormat formatter = new SimpleDateFormat("H:mm");
        return formatter.format(vreme);
        
    }

    public String rezervisi() {
        FacesContext context = FacesContext.getCurrentInstance();
        HttpSession session = (HttpSession) context.getExternalContext().getSession(false);
        Korisnik kor = (Korisnik) session.getAttribute("korisnik");

        rezervacija = new Rezervacija();
        rezervacija.setDatum( new java.sql.Date(dan.getDatum().getTime()));
        rezervacija.setPocevOd(vreme);
        rezervacija.setKorisnik(kor);
        rezervacija.setSala(kor.getIzabrana());
        rezervacija.setTrajanje(2);
        rezervacija.setNamena("Vezbe iz ");

        SimpleDateFormat dateFormatter = new SimpleDateFormat("dd.MM.yyyy.");
        rezervacija.setDatumString(dateFormatter.format(dan.getDatum()));

        SimpleDateFormat timeFormatter = new SimpleDateFormat("H:mm");
        rezervacija.setPocevOdString(timeFormatter.format(vreme));

        setRezervacija(rezervacija);
        kor.setTermin(this);

        kor.setOutcome("rezervacija");
        return kor.isIsAdmin() ? Korisnik.ACTION_ADMIN : Korisnik.ACTION_KORISNIK;
    }

    
}
